Software virtualization technologies provide hosting services that enable users to connect to virtualized user sessions over a network for running userspace instances separate from the users' own local machines. Examples of software virtualization technologies include VDI (Virtual Desktop Infrastructure) and RDS (Remote Desktop Service). Such virtualization technologies may be used for virtualizing entire desktops and/or for virtualizing particular applications.
Systems for supporting software virtualization typically include banks of computing servers for hosting virtualized user sessions and control software. The control software performs numerous functions, such as providing user management, creating and destroying user sessions, and managing power.
Power management functions for software virtualization systems may include powering off computing servers that are not needed for satisfying user demand. For example, if each computing server can run thirty virtualized user sessions and a total of fifty virtualized user sessions are currently needed, all but two computing servers available for running virtualized user sessions may be shut down. Some power management features allow system administrators to manually enter schedules for session capacity. Such schedules may require that certain minimum numbers of virtualized user sessions be kept available from running computing servers at various times of day, whether they are used or not. In this manner, some minimum number of servers is always running and available to satisfy user demand.